package com.spark.common.core.entity.generation;

import com.baomidou.mybatisplus.annotation.TableName;
import com.spark.common.annotation.Dict;
import com.spark.common.annotation.query.Query;
import com.spark.common.constants.QueryConstants;
import com.spark.common.core.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;

/**
 * 模型
 *
 * @author LYCHEE
 * @date 2025/02/24 15:23
 */
@Data
@TableName("online_model")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class GenModel extends BaseEntity {

    /**
     * 模型分类ID
     */
    @Query
    @Dict(dictTable = "online_model_classify", dictCode = "id", dictText = "name")
    @NotBlank(message = "模型分类ID不能为空")
    private java.lang.String modelClassifyId;

    /**
     * 模型名称
     */
    @Query(QueryConstants.QUERY_LIKE)
    @NotBlank(message = "模型名称不能为空")
    private java.lang.String modelName;

    /**
     * 模型编码
     */
    @Query(QueryConstants.QUERY_LIKE)
    @NotBlank(message = "模型编码不能为空")
    private java.lang.String modelCode;

    /**
     * 模型特性
     *  : 单表single 主表main 附表attach 树表tree
     */
    @Query
    @Dict(dictCode = "online_table_type")
    @NotBlank(message = "模型特性不能为空")
    private java.lang.String modelCharacter;

    /**
     * 模型同步状态
     *  : 0已同步 1未同步
     */
    @Query
    @Dict(dictCode = "online_sync_status")
    private java.lang.Integer modelSyncStatus;

    /**
     * 同步版本
     */
    private java.lang.Integer modelSyncVersions;

    /**
     * 禁用
     *  : 0正常 禁用
     */
    @Query
    @Dict(dictCode = "status")
    private java.lang.String disabled;

    /**
     * 业务路径
     */
    private String businessPath;
}
